<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<!--[if lt IE 9]>
  <script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
<![endif]-->
<title>VIM 中文帮助: 用于 rpm 规格文件的文件类型插件</title>
<link rel="stylesheet" href="vim-stylesheet.css" type="text/css" />
<link rel="canonical" href="https://yianwillis.github.io/vimcdoc/doc/pi_spec.html" />
<script type="text/javascript" src="vimcdoc.js"></script>
<meta name="viewport" content="width=device-width, initial-scale=1" />
</head>
<body>
<nav id=banner>
<form action=tags.html target="tag_iframe">
  <input type="text" name="tag" id="tag" placeholder="标签搜索">
</form>
<iframe name="tag_iframe" src=""></iframe>
<a href="help.html">帮助总览</a> &middot;
<hr/>
<a href="quickref.html">快速参考</a> &middot;
<a href="index.html">命令索引</a> &middot;
<a href="eval.html#functions">函数列表</a> &middot;
<a href="quickref.html#option-list">选项列表</a> &middot;
<hr/>
<a href="usr_toc.html">用户手册</a> &middot;
<a href="help.html#reference_toc">参考手册</a> &middot;
</nav>

<header>
<h2>pi_spec</h2>
</header>
<article id=outer>
<section class=inner>
<b class="vimtag"> <a name="pi_spec.txt">pi_spec.txt</a> </b>   适用于 Vim 9.0 版本。   最近更新: 2006年7月

<code class="section">                                作者: Gustavo Niemeyer </code>
                                <code class="vim">译者</code>: Willis

这是一个针对 rpm 规格文件的文件类型插件。

此 Vim 插件让你轻松更新 RPM 规格 (spec) 文件的更新记录段 (%changelog section)
的内容。如果该段还不存在，它可以为你新建段。如果你今天还没有更新，它会帮你建立
新的说明入口 (entry)。如果你还没有提供格式串 ( <a href="pi_spec.html#spec_chglog_format">spec_chglog_format</a> )，它会询问
你的 email 地址，然后自动为你提供该格式串。

1. 如何使用              <a href="pi_spec.html#spec-how-to-use-it">spec-how-to-use-it</a> 
2. 自定义                <a href="pi_spec.html#spec-customizing">spec-customizing</a> 

</section><hr class="doubleline" /><section class=inner>
<h4>1. 如何使用                                     <b class="vimtag"> <a name="spec-how-to-use-it">spec-how-to-use-it</a> </b></h4>
spec_chglog 插件提供如下映射:

        :map <code class="special">&lt;buffer&gt;</code> <code class="special">&lt;LocalLeader&gt;</code>c <code class="special">&lt;Plug&gt;</code>SpecChangelog

这意味着在规格文件里你可以通过按  <a href="map.html#maplocalleader">maplocalleader</a>  键 (缺省是 '\') 加 'c' 来执
行这个插件。如果你还没有设置  <a href="pi_spec.html#spec_chglog_format">spec_chglog_format</a> ，此时插件会要求你提供 email
地址，编辑过程里会用到这个地址。

每次你运行此插件，它检查更新记录，看看最近的说明入口是否今天由你写入。如果是，
在此入口中插入新建更新记录，如果不是，它会建立一个新的更新记录入口。如果你打开
 <a href="pi_spec.html#spec_chglog_release_info">spec_chglog_release_info</a> ，它同时还会检查文件名，版本和发布版本是不是匹配。如
果你自己还没有更新该软件包的发布号的话。这个插件能够智能地询问你是否要这么做。

设置键盘映射                                    <b class="vimtag"> <a name="spec-setting-a-map">spec-setting-a-map</a> </b>
</section><hr class="singleline" /><section class=inner>

正如你应该已经知道的，可以设置键盘映射执行任何 Vim 命令 (对此而言，其实还有别
的)。如果你不喜欢缺省的映射 <code class="special">&lt;LocalLeader&gt;</code>c，可以自己定义。下面说明在 .vimrc 文
件里如何作此设置。比如，要把本插件映射到 <code class="special">&lt;F5&gt;</code> 键:

<code class="example">        au FileType spec map &lt;buffer&gt; &lt;F5&gt; &lt;Plug&gt;SpecChangelog</code>

<code class="note">备注</code>: 本插件会尊重你的本人意愿，不会再次把它的缺省设置强加于你。

该命令只会在规格文件的缓冲区中定义这个映射。


</section><hr class="doubleline" /><section class=inner>
<h4>2. 自定义                                       <b class="vimtag"> <a name="spec-customizing">spec-customizing</a> </b></h4>
格式串                                          <b class="vimtag"> <a name="spec_chglog_format">spec_chglog_format</a> </b>
</section><hr class="singleline" /><section class=inner>

你可以轻松地定制自己的规格文件入口的样式。为此，只须在 .vimrc 文件中这样设置
"spec_chglog_format" 变量: 
<code class="example"></code>
<code class="example">        let spec_chglog_format = "%a %b %d %Y My Name &lt;my@email.com&gt;"</code>

<code class="note">注意</code> "%a %b %d %Y" 是最常用的格式。如果你不提供格式串，第一次运行 SpecChanglog
命令时，它会询问 email 地址，然后为你构造  <a href="pi_spec.html#spec_chglog_format">spec_chglog_format</a>  变量。这种方式
下，你只要提供 email 地址一次。

要知道可用的格式串选项，察看 strftime() 函数的 man 手册页。

何处插入新的更新记录                            <b class="vimtag"> <a name="spec_chglog_prepend">spec_chglog_prepend</a> </b>
</section><hr class="singleline" /><section class=inner>

本插件通常把新的 %changelog 更新记录 (<code class="note">注意</code>: 不是入口本身) 加在现有的记录之后。
如果你设置了 spec_chglog_prepend 变量 
<code class="example"></code>
<code class="example">        let spec_chglog_prepend = 1</code>
<code class="example"></code>
那么新记录将加在已有记录之前。

加入发布信息                                    <b class="vimtag"> <a name="spec_chglog_release_info">spec_chglog_release_info</a> </b>
</section><hr class="singleline" /><section class=inner>

如果你愿意，本插件自动在每个更新记录入口中加入发布信息。这么做的一个好处是能控
制软件包每次更改之后是否更新发布号。如果包的版本或发行号没有更新，它询问你是否
要这么做。要打开这个功能，在 .vimrc 中加入以下代码: 
<code class="example"></code>
<code class="example">        let spec_chglog_release_info = 1</code>
<code class="example"></code>
这样，更新记录入口的首个记录就会像这样: 
<code class="example"></code>
<code class="example">        + name-1.0-1cl</code>
<code class="example"></code>
如果你不喜欢发布更新功能，也不想每次检测到旧的发布号时都回答 "No"，可以关闭此
功能 
<code class="example"></code>
<code class="example">        let spec_chglog_never_increase_release = 1</code>
<code class="example"></code>
<code class="example"></code>
一切顺利！！

vim:tw=78:ts=8:noet:ft=help:norl:
</section>
</article>
<footer>
Generated by vim2html
</footer>
</body>
</html>
